<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:p="http://primefaces.prime.com.tr/ui"
    template="/WEB-INF/templates/template.xhtml">
    
	<ui:define name="title">Lançamento</ui:define>
  
  <ui:define name="body">
    
	<h:form prependId="false">
	
		<div id="novoLacamento">
		
			<div id="dados">
			
				<div id="divInput">
				
					<div>
						<h:outputLabel value="Natureza: " for="natureza"/>
						<p:inputText value="#{lancamentoMB.custa.natureza}" 
							id="natureza"
							size="97"
							onkeypress="nofificationBar.hide()"
						    validator="naturezaValidator"
							/>
					</div>
					
					<div>
						<h:outputLabel value="Valor: " for="valor" />
						<p:inputText 
							value="#{lancamentoMB.custa.valor}" 
							id="valor"
							size="10"
							validator="valorValidator"
							onkeypress="nofificationBar.hide()"
							/>					
					</div>
										
				</div>
					
				<div style="clear: both;"></div>
				
				<div id="divInput" style="margin-top: 15px;">
				
					<div>
						<h:outputLabel value="Data:" for="dataLancamento"/>
						<p:calendar 
							id="dataLancamento"
							pattern="dd/MM/yyyy" 
							value="#{lancamentoMB.dataLancamento}"
							validator="dataValidator"
							readOnlyInputText="true"
							size="10"
							locale="pt_BR"
							onfocus="nofificationBar.hide()"
							/>
					</div>				
									
					<div>
						<h:outputLabel value="Colaborador: " for="colaborador"/>
						<p:autoComplete id="colaborador"
							value="#{lancamentoMB.colaborador}"
							completeMethod="#{lancamentoMB.listarColaboradores}"
							var="colaborador"
							itemLabel="#{colaborador.nome}"
							itemValue="#{colaborador}"
							converter="colaboradorConverter"
							validator="colaboradorValidator"
							size="30"
							onkeypress="nofificationBar.hide()"
							/>
					</div>
					
					<div>
						<h:outputLabel value="Cliente: " for="cliente"/>
						<p:autoComplete id="cliente"
							value="#{lancamentoMB.cliente}"
							completeMethod="#{lancamentoMB.listarClientes}"
							var="cliente"
							itemLabel="#{cliente.nome}"
							itemValue="#{cliente}"
							converter="clienteConverter"
							validator="clienteValidator"
							size="30"
							onkeypress="nofificationBar.hide()"
							/>
					</div>				
					
					<div style="padding-top: 15px;">
						<p:commandButton 
							value="Adicionar" 
							action="#{lancamentoMB.adicionarCusta}" 
							id="btnAdicionar"
							update="panelGridCustas panelGridButtons natureza valor msg"
							oncomplete="showHideNotificationBar();focusNatureza();"
						/>
					</div>
					
				</div>
					
				<div style="clear: both;"></div>				
				
			</div>
			
			
			<div class="divContent" >
				<h:panelGrid id="panelGridCustas" style="width: 100%;">				
					<p:dataTable
						value="#{lancamentoMB.custas}" 
						var="custa"
						paginator="true"
						rows="15"
						paginatorPosition="bottom"
						id="tableCustas"
						selection="#{lancamentoMB.custaSelecionada}"
						rendered="#{not empty lancamentoMB.custas}" 
						selectionMode="single"				
						>

						<p:column sortBy="#{custa.natureza}">
							<f:facet name="header">
								<h:outputText value="Natureza" /> 
							</f:facet>
							<h:outputText value="#{custa.natureza}" />
						</p:column>
						
						<p:column sortBy="#{custa.valor}">
							<f:facet name="header">
								<h:outputText value="Valor" /> 
							</f:facet>
							<h:outputText value="#{custa.valor}" >
								<f:convertNumber pattern="R$ ###,###,###,##0.00" locale="pt_BR"/>
							</h:outputText>	
						</p:column>						
						
						<p:column sortBy="#{custa.lancamento.dataLancamento}">
							<f:facet name="header">
								<h:outputText value="Data Lançamento" /> 
							</f:facet>
							<h:outputText value="#{custa.lancamento.dataLancamento}" >
								<f:convertDateTime pattern="dd/MM/yyyy"/>
							</h:outputText>
						</p:column>					
						
						<p:column sortBy="#{custa.lancamento.colaborador.nome}">
							<f:facet name="header">
								<h:outputText value="Colaborador" /> 
							</f:facet>
							<h:outputText value="#{custa.lancamento.colaborador.nome}" />
						</p:column>
									
						<p:column sortBy="#{custa.lancamento.cliente.nome}">
							<f:facet name="header">
								<h:outputText value="Cliente" /> 
							</f:facet>
							<h:outputText value="#{custa.lancamento.cliente.nome}" />
						</p:column>					
																	
					</p:dataTable>
				</h:panelGrid>			
			</div>
			
			<div class="divContent">			
				<h:panelGrid id="panelGridButtons" columns="2">
				
					<h:commandButton action="#{lancamentoMB.removerCusta}" 
							value="Remover" 
							id="btnRemover"
							rendered="#{not empty lancamentoMB.custas}"
							styleClass="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only"
							>
						<f:ajax render="panelGridCustas panelGridButtons" execute="tableCustas" />
					</h:commandButton>
													
					<p:commandButton action="#{lancamentoMB.fecharLancamento}" 
							value="Fechar Lançamento" 
							id="btnFecharLancamento"
							update="panelGridCustas panelGridButtons msg dataLancamento colaborador cliente"
							oncomplete="nofificationBar.show();"							
							rendered="#{not empty lancamentoMB.custas}"
							immediate="true"						
						/>
				</h:panelGrid>		
			</div>
			
			<p:notificationBar position="bottom"
				effect="slide"
				widgetVar="nofificationBar" 
				styleClass="nofificationBar">
			  	<p:messages id="msg" showDetail="true"  showSummary="true"/>
			</p:notificationBar>
			
		</div>
		
	</h:form>
	
  </ui:define>
  
  <ui:define name="js">
  	<h:outputScript name="lancamento.js" library="js"/>
  </ui:define>
  
</ui:composition>